# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Idle Loops Template

game: Idle Loops
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Idle Loops: 0.4.5 # Version of the world required for this yaml to work as expected.

Idle Loops:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  goal:
    # - Z1: Complete "Start Journey". Should take a few hours.
    # (With 2-4x gamespeed).
    # 
    # - Z2: Complete "Continue On".
    # 
    # - Z3: Complete "Start Trek".
    # 
    # - Z4: Complete "Face Judgement" with 50 or -50 reputation.
    # Should take around a week (with 5-7x gamespeed).
    # 
    # Content from Zones above the goal is not randomised.
    z1: 50
    z2: 0
    z3: 0
    z4: 0

  logic_vanilla:
    # Respect Vanilla Skill requirements.
    # e.g. With this on Buy Supplies requires (Combat + Magic) >= 35.
    # And (maybe more importantly) Chrono/Pyromancy require 150/200 Magic
    # 
    # Progress Bar requirements are ignored.
    'false': 50
    'true': 0

  logic_mana_reduction:
    # Makes Actions that reduce Mana Cost a requirement for what they reduce.
    # It feels so bad to have PM being your block without Hermit
    # (Also includes Old Shortcut for Talk To Hermit)
    'false': 0
    'true': 50

  logic_glasses:
    # Forces Glasses to appear before 50% of Wander.
    'false': 0
    'true': 50

  item_glasses:
    # Adds a second "Z1 - Buy Glasses" item to the pool.
    # With both of them you start the loop with glasses.
    'false': 0
    'true': 50

  logic_fight_heal:
    # Percent chance either Fight Monsters or Heal The Sick
    # will (be forced to) appear in Z1.
    # Without this the vast majority of seed's Z1s were like,
    # "Lots of short quests then 4 haggles and leave".
    # Felt a bit samey.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    75: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  logic_haggle:
    # Haggle will appear in Z1.
    # This probably does the same thing as
    # "Logic: Z2 Minimum Mana" in advanced (Default on)
    # (It's hard to get to 10k without haggle)
    # But maybe you want to make the requirement explicit.
    'false': 50
    'true': 0

  location_progress:
    # Adds locations to progress bars (around every 10%)
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    'false': 0
    'true': 50

  location_skill_toggle:
    # Adds locations for skills based on the goal:
    # Combat, Magic, Practical Magic, Dark Magic, Chronomancy and Pyromancy:
    # (Z1 = 30, Z2 = 50, Z3 = 100, Z4 = 200)
    # Alchemy: (Z2 = 25, Z3 = 50, Z4 = 75)
    # Crafting: (Z3 = 25, Z4 = 50)
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    'false': 0
    'true': 50

  location_buff_toggle:
    # Adds locations for buffs based on the goal:
    # Dark Ritual: (Z2 = 1, Z3 = 2, Z4 = 10)
    # Imbue Mind: (Z4 = 1)
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    'false': 0
    'true': 50

  location_multipart_toggle:
    # Adds locations for multipart actions based on the goal:
    # Heal The Sick: (Z1 = 5, Z2 = 6, Z3 = 7, Z4 = 15)
    # Fight Monsters: (Z1 = 3, Z2 = 4, Z3 = 5, Z4 = 10)
    # Small Dungeon: (Z1 = 3, Z2 = 4, Z3 = 6/max)
    # Large Dungeon: (Z3 = 2, Z4 = 9/max)
    # Trolls: (Z4 = 5)
    # The Guilds do not have locations on them.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    'false': 0
    'true': 50

  item_search:
    # Adds "x - Search" items, needed to check each lootable type.
    # (Lootables are stuff like Mana Pots)
    # Breaks the pool for a Progress Action that gives Lootables in two
    'false': 0
    'true': 50

  item_shop:
    # Requires items to be found to unlock the shop actions below.
    # 
    # With this on, you might not get the shop until after you can
    # already buy everything, kinda defeating the point.
    'false': 50
    'true': 0

  location_z1_shop:
    # Adds 10 buyable items to Z1, ranging from 50 to 200 gold.
    'false': 0
    'true': 50

  location_z1_shop_expensive:
    # Adds 10 extra, more expensive, items to the Z1 shop.
    # Min gold cost is 300,
    # Max gold cost is based on the goal:
    # (Z2 = 400, Z3 = 600, Z4 = 1000)
    # Affordable after you get PM.
    'false': 0
    'true': 50

  location_z3_shop:
    # Adds 10 buyable items to Z3, ranging from 500 to 1000 gold.
    'false': 0
    'true': 50

  batch_z2:
    # Batches Herbs/Wild Mana locations and items 10x.
    # 
    # Herbs/Wild Mana basically give you 300 checks the moment
    # you can get to them, way more dense than anywhere else in the game.
    # 
    # This cuts down on that, reducing the chance that like 4 important items
    # are just lying on the forest floor, and also reducing total 'filler'.
    'false': 0
    'true': 50

  item_pots:
    # Removes the 50 "Z1 - Mana Pot" items from Vanilla from the randomiser.
    # Makes your ratio of Mana Pots/Starting Gold/Mana nice and even.
    'false': 50
    'true': 0

  filler_starting_mana:
    # Filler items can include +50 starting mana
    'false': 0
    'true': 50

  filler_starting_gold:
    # Filler items can include +1 starting gold
    'false': 0
    'true': 50

  filler_extra_mana_pot:
    # Filler items can include extra Mana Pots
    'false': 0
    'true': 50

  filler_nothing:
    # Percent chance a filler item will be 'nothing'
    # (instead of one of the filler items above).
    # "Goal Based" is (Z1 = 0, Z2 = 25, Z3 = 50, Z4 = 75)
    # 
    # Causes an error if less than 50 Pot-Equivalent items are put into the pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  item_progressive_lootable:
    # Adds extra Lootables to the pool,
    # helping each Lootable to their max in *rough* order of usefulness and zone.
    # If what an item practically gives is different from its name,
    # there will be an entry in the log.
    # "Goal Based" is (Z1 = 0, Z2+ = 20)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 40
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-40: 0 # random value between 0 and 40

  game_speed:
    # Multiplicative with the option below.
    # "Goal Based" is (Z1/2 = 2, Z3/4 = 3)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  item_game_speed:
    # Adds +0.1 Game Speed items to the pool, to a total of (value)x.
    # Multiplicative with the option above.
    # The game slows down over time so this helps it feel more even.
    # "Goal Based" is (Z1/2 = 2, Z3/4 = 3)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  stat_exp_mult:
    # Multiplicative with the option below.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  item_exp_mult:
    # Adds +0.1 Exp Multiplier items to the pool, to a total of (value)x.
    # Multiplicative with the option above.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  skill_exp_mult:
    # Skills are easily the most grindy part of the game
    # lets cut that down huh?
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  bonus:
    # How much bonus time to start with.
    none: 0
    5_hours: 0
    1_day: 50
    1_week: 0
    infinite: 0

  mod_ui_crime:
    # Replaces the confusing and obtuse n <- n <- n display for Lootables
    # with n / n Unchecked: n
    # Which you can actually understand without already knowing what it means.
    'false': 0
    'true': 50

  mod_color:
    # Fixes the inverted color display of the Lloyd fork's dark mode.
    # Mana is Blue and Strength is Red again!
    # (and aligns AP colors with other games)
    'false': 0
    'true': 50

  ############
  # Advanced #
  ############
  logic_fight:
    # As the gold you get from Fight Monsters is variable,
    # the randomizer needs to know how much you want to grind it up.
    # 
    # "Goal Based" is (Z1 = 5, Z2+ = 9)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 9
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-9: 0 # random value between 3 and 9

  logic_hard_mana:
    # Puts inefficient mana generation of
    # pots > two locks > buy mana > two locks > buy mana etc...
    # into logic.
    'false': 50
    'true': 0

  logic_z2_mana:
    # Have a minimum of 10k mana after Start Journey.
    # (With all possible items in Z1)
    'false': 0
    'true': 50

  location_skill:
    # Overwrite the max level for 'normal' skills.
    # (Combat, Magic, Practical Magic, Dark Magic, Chronomancy and Pyromancy)
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 500
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-500: 0 # random value between 0 and 500

  location_alchemy:
    # Overwrite the max Alchemy level.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  location_crafting:
    # Overwrite the max Crafting level.
    # FYI in Vanilla:
    # Apprentice gets you to 75
    # Mason gets you to 140
    # Architect gets you to... 298
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 290
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-290: 0 # random value between 0 and 290

  location_heal:
    # Overwrite how many patients to heal.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  location_fight:
    # Overwrite how many monsters to fight.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 15
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-15: 0 # random value between 0 and 15

  location_sd:
    # Overwrite how many Small Dungeon floors to clear.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  location_ritual:
    # Overwrite how many Dark Rituals to perform.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  location_ld:
    # Overwrite how many Large Dungeon floors to clear.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 9
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-9: 0 # random value between 0 and 9

  z1_shop_expensive_max:
    # Maximum cost of items in Z1 AP Shop (Expensive)
    # 1500 is affordable with 300 PM.
    # Set responsibly if you don't want to go that deep.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 300
    # Maximum value is 1500
    goal_based: 50 # equivalent to -1
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-300-1500: 0 # random value between 300 and 1500

  location_trolls:
    # Overwrite how many of Trolls to fight.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  location_mind:
    # Overwrite how many Imbues to Mind.
    # 
    # Caution: Turning too many locations off while having additional items
    # (from e.g. "Items: Progressive Lootables" or "Items: Game Speed")
    # will break generation.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  logic_vanilla_all:
    # UNSUPPORTED: Respect Vanilla Skill and Progress bar
    # requirements for actions.
    # 
    # Overwrites "Logic: Vanilla Skill Requirements" if enabled.
    # 
    # Unsupported because it contrains logic enough to cause
    # Fill Errors, and having it on leads to gameplay
    # way too close to vanilla. Buutt, I did finish the logic
    # so that'll go to waste without this option.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
